home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / ASSEMBLE / H145.ZIP / ASXXXX_1.ZIP / ASDATA.C < prev    next >
C/C++ Source or Header  |  1990-07-18  |  3KB  |  115 lines

  1. /* asdata.c */
  2.  
  3. /*
  4.  * (C) Copyright 1989,1990
  5.  * All Rights Reserved
  6.  *
  7.  * Alan R. Baldwin
  8.  * 721 Berkeley St.
  9.  * Kent, Ohio  44240
  10.  */
  11.  
  12. #include <stdio.h>
  13. #include <setjmp.h>
  14. #include <string.h>
  15. #include <alloc.h>
  16. #include "asm.h"
  17.  
  18. jmp_buf    jump_env;
  19. int    inpfil;
  20. int    incfil;
  21. int    cfile;
  22. int    flevel;
  23. int    tlevel;
  24. int    ifcnd[MAXIF+1];
  25. int    iflvl[MAXIF+1];
  26. int    radix;
  27. int    line;
  28. addr_t    fuzz;
  29. int    page;
  30. int    lop;
  31. int    pass;
  32. int    lflag;
  33. int    oflag;
  34. int    aflag;
  35. int    gflag;
  36. int    sflag;
  37. int    xflag;
  38. int    fflag;
  39. addr_t    laddr;
  40. int    lmode;
  41.  
  42. char    *ep;
  43. char    eb[NERR];
  44. char    *ip;
  45. char    ib[NINPUT];
  46. char    *cp;
  47. char    cb[NCODE];
  48. int    *cpt;
  49. int    cbt[NCODE];
  50. char    tb[NTITL];
  51. char    stb[NSBTL];
  52. char    symtbl[] = { "Symbol Table" };
  53. char    aretbl[] = { "Area Table" };
  54. char    module[NCPS];
  55.  
  56. struct    mne    *mnehash[NHASH];
  57.  
  58. struct    sym    sym[] = {
  59.     NULL,    NULL,    ".",    S_USER,    S_END,    NULL,    0,    0
  60. };
  61. struct    sym    *symp;
  62. struct    sym    *symhash[NHASH];
  63.  
  64. struct    area    area[] = {
  65.     NULL,    "_CODE",    0,    0,    0,    A_CON|A_REL
  66. };
  67. struct    area    *areap;
  68.  
  69. FILE    *lfp;
  70. FILE    *ofp;
  71. FILE    *tfp;
  72. FILE    *sfp[MAXFIL];
  73. FILE    *ifp[MAXINC];
  74.  
  75. char    ctype[128] = {
  76. /*NUL*/    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,
  77. /*BS*/    ILL,    SPACE,    ILL,    ILL,    SPACE,    ILL,    ILL,    ILL,
  78. /*DLE*/    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,
  79. /*CAN*/    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,    ILL,
  80. /*SPC*/    SPACE,    ETC,    ETC,    ETC,    LETTER,    BINOP,    BINOP,    ETC,
  81. /*(*/    ETC,    ETC,    BINOP,    BINOP,    ETC,    BINOP,    LETTER,    BINOP,
  82. /*0*/    DGT2,    DGT2,    DGT8,    DGT8,    DGT8,    DGT8,    DGT8,    DGT8,
  83. /*8*/    DGT10,    DGT10,    ETC,    ETC,    BINOP,    ETC,    BINOP,    ETC,
  84. /*@*/    ETC,    LTR16,    LTR16,    LTR16,    LTR16,    LTR16,    LTR16,    LETTER,
  85. /*H*/    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,
  86. /*P*/    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,
  87. /*X*/    LETTER,    LETTER,    LETTER,    ETC,    ETC,    ETC,    BINOP,    LETTER,
  88. /*`*/    ETC,    LTR16,    LTR16,    LTR16,    LTR16,    LTR16,    LTR16,    LETTER,
  89. /*h*/    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,
  90. /*p*/    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,    LETTER,
  91. /*x*/    LETTER,    LETTER,    LETTER,    ETC,    BINOP,    ETC,    ETC,    ETC
  92. };
  93.  
  94. #if    CASE_SENSITIVE
  95. #else
  96. char    ccase[128] = {
  97. /*NUL*/    '\000',    '\001',    '\002',    '\003',    '\004',    '\005',    '\006',    '\007',
  98. /*BS*/    '\010',    '\011',    '\012',    '\013',    '\014',    '\015',    '\016',    '\017',
  99. /*DLE*/    '\020',    '\021',    '\022',    '\023',    '\024',    '\025',    '\026',    '\027',
  100. /*CAN*/    '\030',    '\031',    '\032',    '\033',    '\034',    '\035',    '\036',    '\037',
  101. /*SPC*/    '\040',    '\041',    '\042',    '\043',    '\044',    '\045',    '\046',    '\047',
  102. /*(*/    '\050',    '\051',    '\052',    '\053',    '\054',    '\055',    '\056',    '\057',
  103. /*0*/    '\060',    '\061',    '\062',    '\063',    '\064',    '\065',    '\066',    '\067',
  104. /*8*/    '\070',    '\071',    '\072',    '\073',    '\074',    '\075',    '\076',    '\077',
  105. /*@*/    '\100',    '\141',    '\142',    '\143',    '\144',    '\145',    '\146',    '\147',
  106. /*H*/    '\150',    '\151',    '\152',    '\153',    '\154',    '\155',    '\156',    '\157',
  107. /*P*/    '\160',    '\161',    '\162',    '\163',    '\164',    '\165',    '\166',    '\167',
  108. /*X*/    '\170',    '\171',    '\172',    '\133',    '\134',    '\135',    '\136',    '\137',
  109. /*`*/    '\140',    '\141',    '\142',    '\143',    '\144',    '\145',    '\146',    '\147',
  110. /*h*/    '\150',    '\151',    '\152',    '\153',    '\154',    '\155',    '\156',    '\157',
  111. /*p*/    '\160',    '\161',    '\162',    '\163',    '\164',    '\165',    '\166',    '\167',
  112. /*x*/    '\170',    '\171',    '\172',    '\173',    '\174',    '\175',    '\176',    '\177'
  113. };    
  114. #endif
  115.